/*
 * Copyright (c) 1994, 2006, Oracle and/or its affiliates. All rights reserved.
 * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 */

package java.io;

/**
 * 表示发生了某种I/O异常。此类是失败或中断的I/O操作所产生异常的一般类。
 *
 * @author  作者未注明
 * @see     java.io.InputStream
 * @see     java.io.OutputStream
 * @since   JDK1.0
 */
public
class IOException extends Exception {
    static final long serialVersionUID = 7818375828146090155L;

    /**
     * 构造一个带有 {@code null} 作为错误详细消息的 {@code IOException}。
     */
    public IOException() {
        super();
    }

    /**
     * 构造一个带有指定详细消息的 {@code IOException}。
     *
     * @param message
     *        详细消息（保存用于后续通过 {@link #getMessage()} 方法检索）
     */
    public IOException(String message) {
        super(message);
    }

    /**
     * 构造一个带有指定详细消息和原因的 {@code IOException}。
     *
     * <p> 注意与 {@code cause} 关联的详细消息<i>不会</i>自动合并到此异常的详细消息中。
     *
     * @param message
     *        详细消息（保存用于后续通过 {@link #getMessage()} 方法检索）
     *
     * @param cause
     *        原因（保存用于后续通过 {@link #getCause()} 方法检索）。允许为null值，
     *        表示原因不存在或未知。
     *
     * @since 1.6
     */
    public IOException(String message, Throwable cause) {
        super(message, cause);
    }

    /**
     * 构造一个带有指定原因和详细消息 {@code (cause==null ? null : cause.toString())}
     * 的 {@code IOException}（通常包含 {@code cause} 的类和详细消息）。
     * 此构造方法对于IO异常只是其他throwable的包装器的情况很有用。
     *
     * @param cause
     *        原因（保存用于后续通过 {@link #getCause()} 方法检索）。允许为null值，
     *        表示原因不存在或未知。
     *
     * @since 1.6
     */
    public IOException(Throwable cause) {
        super(cause);
    }
}
